From 17274cbe8884b093d83765e72ac55c31553953a2 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 2 May 2007 00:02:14 +0000 Subject: [PATCH] Make sure the leader_window's WM_CLIENT_LEADER points to itself. #435028 * gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Make sure the leader_window's WM_CLIENT_LEADER points to itself. #435028 svn path=/trunk/; revision=17762 --- ChangeLog | 5 +++++ gdk/x11/gdkwindow-x11.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b9eb03d442..fa1fac3a18 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-05-01 Dan Winship + + * gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Make sure the + leader_window's WM_CLIENT_LEADER points to itself. #435028 + 2007-05-02 Christian Persch * gtk/gtktreemodel.c: (gtk_tree_iter_copy), (gtk_tree_iter_free): Use diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 621d3245dd..017b8c343c 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -572,6 +572,7 @@ setup_toplevel_window (GdkWindow *window, GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (parent)); XSizeHints size_hints; long pid; + Window leader_window; if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_DIALOG) XSetTransientForHint (xdisplay, xid, xparent); @@ -608,11 +609,14 @@ setup_toplevel_window (GdkWindow *window, XA_CARDINAL, 32, PropModeReplace, (guchar *)&pid, 1); - + + leader_window = GDK_DISPLAY_X11 (screen_x11->display)->leader_window; + if (!leader_window) + leader_window = xid; XChangeProperty (xdisplay, xid, gdk_x11_get_xatom_by_name_for_display (screen_x11->display, "WM_CLIENT_LEADER"), XA_WINDOW, 32, PropModeReplace, - (guchar *) &GDK_DISPLAY_X11 (screen_x11->display)->leader_window, 1); + (guchar *) &leader_window, 1); if (toplevel->focus_window != None) XChangeProperty (xdisplay, xid, -- 2.30.2